
#include "hexahedron.h"

using namespace espreso;

bool Hexahedron::gpw(int order, std::vector<double> &r, std::vector<double> &s, std::vector<double> &t, std::vector<double> &w)
{
	switch (order) {
	case 0:
	case 1:
		r.resize(1); s.resize(1); t.resize(1); w.resize(1);
		r[ 0] =  0.0                                 ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] =  8.0                                 ;
		break;

	case 2:
	case 3:
		r.resize(6); s.resize(6); t.resize(6); w.resize(6);
		r[ 0] = -1.0                                 ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] =  1.3333333333333333333333333333333   ;
		r[ 1] =  1.0                                 ;   s[ 1] =  0.0                                 ;   t[ 1] =  0.0                                 ;   w[ 1] =  1.3333333333333333333333333333333   ;
		r[ 2] =  0.0                                 ;   s[ 2] = -1.0                                 ;   t[ 2] =  0.0                                 ;   w[ 2] =  1.3333333333333333333333333333333   ;
		r[ 3] =  0.0                                 ;   s[ 3] =  1.0                                 ;   t[ 3] =  0.0                                 ;   w[ 3] =  1.3333333333333333333333333333333   ;
		r[ 4] =  0.0                                 ;   s[ 4] =  0.0                                 ;   t[ 4] = -1.0                                 ;   w[ 4] =  1.3333333333333333333333333333333   ;
		r[ 5] =  0.0                                 ;   s[ 5] =  0.0                                 ;   t[ 5] =  1.0                                 ;   w[ 5] =  1.3333333333333333333333333333333   ;
		break;

	case 4:
	case 5:
		r.resize(13); s.resize(13); t.resize(13); w.resize(13);
		r[ 0] =  0.0                                 ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] =  1.6842105263157894736842105263158   ;
		r[ 1] =  0.8803044066993097804773781820986   ;   s[ 1] = -0.49584817142571115281421242364288  ;   t[ 1] = -0.49584817142571115281421242364288  ;   w[ 1] =  0.54498735127757671684690782180894  ;
		r[ 2] = -0.8803044066993097804773781820986   ;   s[ 2] =  0.49584817142571115281421242364288  ;   t[ 2] =  0.49584817142571115281421242364288  ;   w[ 2] =  0.54498735127757671684690782180894  ;
		r[ 3] = -0.49584817142571115281421242364288  ;   s[ 3] =  0.8803044066993097804773781820986   ;   t[ 3] = -0.49584817142571115281421242364288  ;   w[ 3] =  0.54498735127757671684690782180894  ;
		r[ 4] =  0.49584817142571115281421242364288  ;   s[ 4] = -0.8803044066993097804773781820986   ;   t[ 4] =  0.49584817142571115281421242364288  ;   w[ 4] =  0.54498735127757671684690782180894  ;
		r[ 5] = -0.49584817142571115281421242364288  ;   s[ 5] = -0.49584817142571115281421242364288  ;   t[ 5] =  0.8803044066993097804773781820986   ;   w[ 5] =  0.54498735127757671684690782180894  ;
		r[ 6] =  0.49584817142571115281421242364288  ;   s[ 6] =  0.49584817142571115281421242364288  ;   t[ 6] = -0.8803044066993097804773781820986   ;   w[ 6] =  0.54498735127757671684690782180894  ;
		r[ 7] =  0.025293711744842581347389255929324 ;   s[ 7] =  0.79562142216409541542982482567579  ;   t[ 7] =  0.79562142216409541542982482567579  ;   w[ 7] =  0.50764422766979170420572375713842  ;
		r[ 8] = -0.025293711744842581347389255929324 ;   s[ 8] = -0.79562142216409541542982482567579  ;   t[ 8] = -0.79562142216409541542982482567579  ;   w[ 8] =  0.50764422766979170420572375713842  ;
		r[ 9] =  0.79562142216409541542982482567579  ;   s[ 9] =  0.025293711744842581347389255929324 ;   t[ 9] =  0.79562142216409541542982482567579  ;   w[ 9] =  0.50764422766979170420572375713842  ;
		r[10] = -0.79562142216409541542982482567579  ;   s[10] = -0.025293711744842581347389255929324 ;   t[10] = -0.79562142216409541542982482567579  ;   w[10] =  0.50764422766979170420572375713842  ;
		r[11] =  0.79562142216409541542982482567579  ;   s[11] =  0.79562142216409541542982482567579  ;   t[11] =  0.025293711744842581347389255929324 ;   w[11] =  0.50764422766979170420572375713842  ;
		r[12] = -0.79562142216409541542982482567579  ;   s[12] = -0.79562142216409541542982482567579  ;   t[12] = -0.025293711744842581347389255929324 ;   w[12] =  0.50764422766979170420572375713842  ;
		break;

//	case 6:
//	case 7:
//		r.resize(31); s.resize(31); t.resize(31); w.resize(31);
//		r[ 0] =  0.0                                 ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] = -1.2753623188405797101449275362319   ;
//		r[ 1] = -0.58554004376911990761263078174406  ;   s[ 1] =  0.0                                 ;   t[ 1] =  0.0                                 ;   w[ 1] =  0.87111111111111111111111111111111  ;
//		r[ 2] =  0.58554004376911990761263078174406  ;   s[ 2] =  0.0                                 ;   t[ 2] =  0.0                                 ;   w[ 2] =  0.87111111111111111111111111111111  ;
//		r[ 3] =  0.0                                 ;   s[ 3] = -0.58554004376911990761263078174406  ;   t[ 3] =  0.0                                 ;   w[ 3] =  0.87111111111111111111111111111111  ;
//		r[ 4] =  0.0                                 ;   s[ 4] =  0.58554004376911990761263078174406  ;   t[ 4] =  0.0                                 ;   w[ 4] =  0.87111111111111111111111111111111  ;
//		r[ 5] =  0.0                                 ;   s[ 5] =  0.0                                 ;   t[ 5] = -0.58554004376911990761263078174406  ;   w[ 5] =  0.87111111111111111111111111111111  ;
//		r[ 6] =  0.0                                 ;   s[ 6] =  0.0                                 ;   t[ 6] =  0.58554004376911990761263078174406  ;   w[ 6] =  0.87111111111111111111111111111111  ;
//		r[ 7] =  0.69447013599170476660202580388331  ;   s[ 7] =  0.9371616385682080385110473776654   ;   t[ 7] =  0.41565926760406512623960667256703  ;   w[ 7] =  0.16869565217391304347826086956522  ;
//		r[ 8] =  0.9371616385682080385110473776654   ;   s[ 8] = -0.69447013599170476660202580388331  ;   t[ 8] =  0.41565926760406512623960667256703  ;   w[ 8] =  0.16869565217391304347826086956522  ;
//		r[ 9] = -0.69447013599170476660202580388331  ;   s[ 9] = -0.9371616385682080385110473776654   ;   t[ 9] =  0.41565926760406512623960667256703  ;   w[ 9] =  0.16869565217391304347826086956522  ;
//		r[10] = -0.9371616385682080385110473776654   ;   s[10] =  0.69447013599170476660202580388331  ;   t[10] =  0.41565926760406512623960667256703  ;   w[10] =  0.16869565217391304347826086956522  ;
//		r[11] =  0.69447013599170476660202580388331  ;   s[11] =  0.41565926760406512623960667256703  ;   t[11] = -0.9371616385682080385110473776654   ;   w[11] =  0.16869565217391304347826086956522  ;
//		r[12] =  0.69447013599170476660202580388331  ;   s[12] = -0.9371616385682080385110473776654   ;   t[12] = -0.41565926760406512623960667256703  ;   w[12] =  0.16869565217391304347826086956522  ;
//		r[13] =  0.69447013599170476660202580388331  ;   s[13] = -0.41565926760406512623960667256703  ;   t[13] =  0.9371616385682080385110473776654   ;   w[13] =  0.16869565217391304347826086956522  ;
//		r[14] =  0.41565926760406512623960667256703  ;   s[14] =  0.9371616385682080385110473776654   ;   t[14] = -0.69447013599170476660202580388331  ;   w[14] =  0.16869565217391304347826086956522  ;
//		r[15] = -0.69447013599170476660202580388331  ;   s[15] =  0.9371616385682080385110473776654   ;   t[15] = -0.41565926760406512623960667256703  ;   w[15] =  0.16869565217391304347826086956522  ;
//		r[16] = -0.41565926760406512623960667256703  ;   s[16] =  0.9371616385682080385110473776654   ;   t[16] =  0.69447013599170476660202580388331  ;   w[16] =  0.16869565217391304347826086956522  ;
//		r[17] =  0.9371616385682080385110473776654   ;   s[17] = -0.41565926760406512623960667256703  ;   t[17] = -0.69447013599170476660202580388331  ;   w[17] =  0.16869565217391304347826086956522  ;
//		r[18] = -0.41565926760406512623960667256703  ;   s[18] = -0.9371616385682080385110473776654   ;   t[18] = -0.69447013599170476660202580388331  ;   w[18] =  0.16869565217391304347826086956522  ;
//		r[19] = -0.9371616385682080385110473776654   ;   s[19] =  0.41565926760406512623960667256703  ;   t[19] = -0.69447013599170476660202580388331  ;   w[19] =  0.16869565217391304347826086956522  ;
//		r[20] =  0.9371616385682080385110473776654   ;   s[20] =  0.69447013599170476660202580388331  ;   t[20] = -0.41565926760406512623960667256703  ;   w[20] =  0.16869565217391304347826086956522  ;
//		r[21] = -0.9371616385682080385110473776654   ;   s[21] = -0.69447013599170476660202580388331  ;   t[21] = -0.41565926760406512623960667256703  ;   w[21] =  0.16869565217391304347826086956522  ;
//		r[22] =  0.9371616385682080385110473776654   ;   s[22] =  0.41565926760406512623960667256703  ;   t[22] =  0.69447013599170476660202580388331  ;   w[22] =  0.16869565217391304347826086956522  ;
//		r[23] =  0.41565926760406512623960667256703  ;   s[23] = -0.9371616385682080385110473776654   ;   t[23] =  0.69447013599170476660202580388331  ;   w[23] =  0.16869565217391304347826086956522  ;
//		r[24] = -0.9371616385682080385110473776654   ;   s[24] = -0.41565926760406512623960667256703  ;   t[24] =  0.69447013599170476660202580388331  ;   w[24] =  0.16869565217391304347826086956522  ;
//		r[25] = -0.69447013599170476660202580388331  ;   s[25] =  0.41565926760406512623960667256703  ;   t[25] =  0.9371616385682080385110473776654   ;   w[25] =  0.16869565217391304347826086956522  ;
//		r[26] =  0.41565926760406512623960667256703  ;   s[26] = -0.69447013599170476660202580388331  ;   t[26] = -0.9371616385682080385110473776654   ;   w[26] =  0.16869565217391304347826086956522  ;
//		r[27] = -0.41565926760406512623960667256703  ;   s[27] = -0.69447013599170476660202580388331  ;   t[27] =  0.9371616385682080385110473776654   ;   w[27] =  0.16869565217391304347826086956522  ;
//		r[28] = -0.69447013599170476660202580388331  ;   s[28] = -0.41565926760406512623960667256703  ;   t[28] = -0.9371616385682080385110473776654   ;   w[28] =  0.16869565217391304347826086956522  ;
//		r[29] =  0.41565926760406512623960667256703  ;   s[29] =  0.69447013599170476660202580388331  ;   t[29] =  0.9371616385682080385110473776654   ;   w[29] =  0.16869565217391304347826086956522  ;
//		r[30] = -0.41565926760406512623960667256703  ;   s[30] =  0.69447013599170476660202580388331  ;   t[30] = -0.9371616385682080385110473776654   ;   w[30] =  0.16869565217391304347826086956522  ;
//		break;

	case 6:
	case 7:
		r.resize(33); s.resize(33); t.resize(33); w.resize(33);
		r[ 0] =  0.925820099772551461566566776584    ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] =  0.29574759945130315500685871056241  ;
		r[ 1] = -0.925820099772551461566566776584    ;   s[ 1] =  0.0                                 ;   t[ 1] =  0.0                                 ;   w[ 1] =  0.29574759945130315500685871056241  ;
		r[ 2] =  0.0                                 ;   s[ 2] =  0.925820099772551461566566776584    ;   t[ 2] =  0.0                                 ;   w[ 2] =  0.29574759945130315500685871056241  ;
		r[ 3] =  0.0                                 ;   s[ 3] = -0.925820099772551461566566776584    ;   t[ 3] =  0.0                                 ;   w[ 3] =  0.29574759945130315500685871056241  ;
		r[ 4] =  0.0                                 ;   s[ 4] =  0.0                                 ;   t[ 4] =  0.925820099772551461566566776584    ;   w[ 4] =  0.29574759945130315500685871056241  ;
		r[ 5] =  0.0                                 ;   s[ 5] =  0.0                                 ;   t[ 5] = -0.925820099772551461566566776584    ;   w[ 5] =  0.29574759945130315500685871056241  ;
		r[ 6] =  0.925820099772551461566566776584    ;   s[ 6] =  0.925820099772551461566566776584    ;   t[ 6] =  0.0                                 ;   w[ 6] =  0.094101508916323731138545953360768 ;
		r[ 7] =  0.925820099772551461566566776584    ;   s[ 7] = -0.925820099772551461566566776584    ;   t[ 7] =  0.0                                 ;   w[ 7] =  0.094101508916323731138545953360768 ;
		r[ 8] = -0.925820099772551461566566776584    ;   s[ 8] = -0.925820099772551461566566776584    ;   t[ 8] =  0.0                                 ;   w[ 8] =  0.094101508916323731138545953360768 ;
		r[ 9] = -0.925820099772551461566566776584    ;   s[ 9] =  0.925820099772551461566566776584    ;   t[ 9] =  0.0                                 ;   w[ 9] =  0.094101508916323731138545953360768 ;
		r[10] =  0.925820099772551461566566776584    ;   s[10] =  0.0                                 ;   t[10] =  0.925820099772551461566566776584    ;   w[10] =  0.094101508916323731138545953360768 ;
		r[11] =  0.925820099772551461566566776584    ;   s[11] =  0.0                                 ;   t[11] = -0.925820099772551461566566776584    ;   w[11] =  0.094101508916323731138545953360768 ;
		r[12] = -0.925820099772551461566566776584    ;   s[12] =  0.0                                 ;   t[12] = -0.925820099772551461566566776584    ;   w[12] =  0.094101508916323731138545953360768 ;
		r[13] = -0.925820099772551461566566776584    ;   s[13] =  0.0                                 ;   t[13] =  0.925820099772551461566566776584    ;   w[13] =  0.094101508916323731138545953360768 ;
		r[14] =  0.0                                 ;   s[14] =  0.925820099772551461566566776584    ;   t[14] =  0.925820099772551461566566776584    ;   w[14] =  0.094101508916323731138545953360768 ;
		r[15] =  0.0                                 ;   s[15] =  0.925820099772551461566566776584    ;   t[15] = -0.925820099772551461566566776584    ;   w[15] =  0.094101508916323731138545953360768 ;
		r[16] =  0.0                                 ;   s[16] = -0.925820099772551461566566776584    ;   t[16] = -0.925820099772551461566566776584    ;   w[16] =  0.094101508916323731138545953360768 ;
		r[17] =  0.0                                 ;   s[17] = -0.925820099772551461566566776584    ;   t[17] =  0.925820099772551461566566776584    ;   w[17] =  0.094101508916323731138545953360768 ;
		r[18] =  0.40670318642671611051320539172506  ;   s[18] =  0.40670318642671611051320539172506  ;   t[18] =  0.40670318642671611051320539172506  ;   w[18] =  0.41233386227143558939758007867525  ;
		r[19] =  0.40670318642671611051320539172506  ;   s[19] = -0.40670318642671611051320539172506  ;   t[19] =  0.40670318642671611051320539172506  ;   w[19] =  0.41233386227143558939758007867525  ;
		r[20] = -0.40670318642671611051320539172506  ;   s[20] = -0.40670318642671611051320539172506  ;   t[20] =  0.40670318642671611051320539172506  ;   w[20] =  0.41233386227143558939758007867525  ;
		r[21] = -0.40670318642671611051320539172506  ;   s[21] =  0.40670318642671611051320539172506  ;   t[21] =  0.40670318642671611051320539172506  ;   w[21] =  0.41233386227143558939758007867525  ;
		r[22] =  0.40670318642671611051320539172506  ;   s[22] =  0.40670318642671611051320539172506  ;   t[22] = -0.40670318642671611051320539172506  ;   w[22] =  0.41233386227143558939758007867525  ;
		r[23] =  0.40670318642671611051320539172506  ;   s[23] = -0.40670318642671611051320539172506  ;   t[23] = -0.40670318642671611051320539172506  ;   w[23] =  0.41233386227143558939758007867525  ;
		r[24] = -0.40670318642671611051320539172506  ;   s[24] = -0.40670318642671611051320539172506  ;   t[24] = -0.40670318642671611051320539172506  ;   w[24] =  0.41233386227143558939758007867525  ;
		r[25] = -0.40670318642671611051320539172506  ;   s[25] =  0.40670318642671611051320539172506  ;   t[25] = -0.40670318642671611051320539172506  ;   w[25] =  0.41233386227143558939758007867525  ;
		r[26] =  0.73411252875211532719105979228511  ;   s[26] =  0.73411252875211532719105979228511  ;   t[26] =  0.73411252875211532719105979228511  ;   w[26] =  0.22470317476560144763945695836178  ;
		r[27] =  0.73411252875211532719105979228511  ;   s[27] = -0.73411252875211532719105979228511  ;   t[27] =  0.73411252875211532719105979228511  ;   w[27] =  0.22470317476560144763945695836178  ;
		r[28] = -0.73411252875211532719105979228511  ;   s[28] = -0.73411252875211532719105979228511  ;   t[28] =  0.73411252875211532719105979228511  ;   w[28] =  0.22470317476560144763945695836178  ;
		r[29] = -0.73411252875211532719105979228511  ;   s[29] =  0.73411252875211532719105979228511  ;   t[29] =  0.73411252875211532719105979228511  ;   w[29] =  0.22470317476560144763945695836178  ;
		r[30] =  0.73411252875211532719105979228511  ;   s[30] =  0.73411252875211532719105979228511  ;   t[30] = -0.73411252875211532719105979228511  ;   w[30] =  0.22470317476560144763945695836178  ;
		r[31] =  0.73411252875211532719105979228511  ;   s[31] = -0.73411252875211532719105979228511  ;   t[31] = -0.73411252875211532719105979228511  ;   w[31] =  0.22470317476560144763945695836178  ;
		r[32] = -0.73411252875211532719105979228511  ;   s[32] = -0.73411252875211532719105979228511  ;   t[32] = -0.73411252875211532719105979228511  ;   w[32] =  0.22470317476560144763945695836178  ;
		r[33] = -0.73411252875211532719105979228511  ;   s[33] =  0.73411252875211532719105979228511  ;   t[33] = -0.73411252875211532719105979228511  ;   w[33] =  0.22470317476560144763945695836178  ;
		break;

	case 8:
		r.resize(47); s.resize(47); t.resize(47); w.resize(47);
		r[ 0] =  0.0                                 ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] =  0.45190371487519969049076381869955  ;
		r[ 1] =  0.78246079643595159065281397542972  ;   s[ 1] =  0.0                                 ;   t[ 1] =  0.0                                 ;   w[ 1] =  0.29937917735233891970338561857617  ;
		r[ 2] = -0.78246079643595159065281397542972  ;   s[ 2] =  0.0                                 ;   t[ 2] =  0.0                                 ;   w[ 2] =  0.29937917735233891970338561857617  ;
		r[ 3] =  0.0                                 ;   s[ 3] =  0.78246079643595159065281397542972  ;   t[ 3] =  0.0                                 ;   w[ 3] =  0.29937917735233891970338561857617  ;
		r[ 4] =  0.0                                 ;   s[ 4] = -0.78246079643595159065281397542972  ;   t[ 4] =  0.0                                 ;   w[ 4] =  0.29937917735233891970338561857617  ;
		r[ 5] =  0.0                                 ;   s[ 5] =  0.0                                 ;   t[ 5] =  0.78246079643595159065281397542972  ;   w[ 5] =  0.29937917735233891970338561857617  ;
		r[ 6] =  0.0                                 ;   s[ 6] =  0.0                                 ;   t[ 6] = -0.78246079643595159065281397542972  ;   w[ 6] =  0.29937917735233891970338561857617  ;
		r[ 7] =  0.48809466970636648052672930146869  ;   s[ 7] =  0.48809466970636648052672930146869  ;   t[ 7] =  0.48809466970636648052672930146869  ;   w[ 7] =  0.30087615937124001993969868979116  ;
		r[ 8] =  0.48809466970636648052672930146869  ;   s[ 8] = -0.48809466970636648052672930146869  ;   t[ 8] =  0.48809466970636648052672930146869  ;   w[ 8] =  0.30087615937124001993969868979116  ;
		r[ 9] = -0.48809466970636648052672930146869  ;   s[ 9] = -0.48809466970636648052672930146869  ;   t[ 9] =  0.48809466970636648052672930146869  ;   w[ 9] =  0.30087615937124001993969868979116  ;
		r[10] = -0.48809466970636648052672930146869  ;   s[10] =  0.48809466970636648052672930146869  ;   t[10] =  0.48809466970636648052672930146869  ;   w[10] =  0.30087615937124001993969868979116  ;
		r[11] =  0.48809466970636648052672930146869  ;   s[11] =  0.48809466970636648052672930146869  ;   t[11] = -0.48809466970636648052672930146869  ;   w[11] =  0.30087615937124001993969868979116  ;
		r[12] =  0.48809466970636648052672930146869  ;   s[12] = -0.48809466970636648052672930146869  ;   t[12] = -0.48809466970636648052672930146869  ;   w[12] =  0.30087615937124001993969868979116  ;
		r[13] = -0.48809466970636648052672930146869  ;   s[13] = -0.48809466970636648052672930146869  ;   t[13] = -0.48809466970636648052672930146869  ;   w[13] =  0.30087615937124001993969868979116  ;
		r[14] = -0.48809466970636648052672930146869  ;   s[14] =  0.48809466970636648052672930146869  ;   t[14] = -0.48809466970636648052672930146869  ;   w[14] =  0.30087615937124001993969868979116  ;
		r[15] =  0.86221892766148118885642289111004  ;   s[15] =  0.86221892766148118885642289111004  ;   t[15] =  0.86221892766148118885642289111004  ;   w[15] =  0.049484325587703812573817317571485 ;
		r[16] =  0.86221892766148118885642289111004  ;   s[16] = -0.86221892766148118885642289111004  ;   t[16] =  0.86221892766148118885642289111004  ;   w[16] =  0.049484325587703812573817317571485 ;
		r[17] = -0.86221892766148118885642289111004  ;   s[17] = -0.86221892766148118885642289111004  ;   t[17] =  0.86221892766148118885642289111004  ;   w[17] =  0.049484325587703812573817317571485 ;
		r[18] = -0.86221892766148118885642289111004  ;   s[18] =  0.86221892766148118885642289111004  ;   t[18] =  0.86221892766148118885642289111004  ;   w[18] =  0.049484325587703812573817317571485 ;
		r[19] =  0.86221892766148118885642289111004  ;   s[19] =  0.86221892766148118885642289111004  ;   t[19] = -0.86221892766148118885642289111004  ;   w[19] =  0.049484325587703812573817317571485 ;
		r[20] =  0.86221892766148118885642289111004  ;   s[20] = -0.86221892766148118885642289111004  ;   t[20] = -0.86221892766148118885642289111004  ;   w[20] =  0.049484325587703812573817317571485 ;
		r[21] = -0.86221892766148118885642289111004  ;   s[21] = -0.86221892766148118885642289111004  ;   t[21] = -0.86221892766148118885642289111004  ;   w[21] =  0.049484325587703812573817317571485 ;
		r[22] = -0.86221892766148118885642289111004  ;   s[22] =  0.86221892766148118885642289111004  ;   t[22] = -0.86221892766148118885642289111004  ;   w[22] =  0.049484325587703812573817317571485 ;
		r[23] =  0.28111390940834185605809828184642  ;   s[23] =  0.94419657829200819531868749477374  ;   t[23] =  0.69757483370723699677939172994898  ;   w[23] =  0.12287238922246733879919976712259  ;
		r[24] =  0.94419657829200819531868749477374  ;   s[24] = -0.28111390940834185605809828184642  ;   t[24] =  0.69757483370723699677939172994898  ;   w[24] =  0.12287238922246733879919976712259  ;
		r[25] = -0.28111390940834185605809828184642  ;   s[25] = -0.94419657829200819531868749477374  ;   t[25] =  0.69757483370723699677939172994898  ;   w[25] =  0.12287238922246733879919976712259  ;
		r[26] = -0.94419657829200819531868749477374  ;   s[26] =  0.28111390940834185605809828184642  ;   t[26] =  0.69757483370723699677939172994898  ;   w[26] =  0.12287238922246733879919976712259  ;
		r[27] =  0.28111390940834185605809828184642  ;   s[27] =  0.69757483370723699677939172994898  ;   t[27] = -0.94419657829200819531868749477374  ;   w[27] =  0.12287238922246733879919976712259  ;
		r[28] =  0.28111390940834185605809828184642  ;   s[28] = -0.94419657829200819531868749477374  ;   t[28] = -0.69757483370723699677939172994898  ;   w[28] =  0.12287238922246733879919976712259  ;
		r[29] =  0.28111390940834185605809828184642  ;   s[29] = -0.69757483370723699677939172994898  ;   t[29] =  0.94419657829200819531868749477374  ;   w[29] =  0.12287238922246733879919976712259  ;
		r[30] =  0.69757483370723699677939172994898  ;   s[30] =  0.94419657829200819531868749477374  ;   t[30] = -0.28111390940834185605809828184642  ;   w[30] =  0.12287238922246733879919976712259  ;
		r[31] = -0.28111390940834185605809828184642  ;   s[31] =  0.94419657829200819531868749477374  ;   t[31] = -0.69757483370723699677939172994898  ;   w[31] =  0.12287238922246733879919976712259  ;
		r[32] = -0.69757483370723699677939172994898  ;   s[32] =  0.94419657829200819531868749477374  ;   t[32] =  0.28111390940834185605809828184642  ;   w[32] =  0.12287238922246733879919976712259  ;
		r[33] =  0.94419657829200819531868749477374  ;   s[33] = -0.69757483370723699677939172994898  ;   t[33] = -0.28111390940834185605809828184642  ;   w[33] =  0.12287238922246733879919976712259  ;
		r[34] = -0.69757483370723699677939172994898  ;   s[34] = -0.94419657829200819531868749477374  ;   t[34] = -0.28111390940834185605809828184642  ;   w[34] =  0.12287238922246733879919976712259  ;
		r[35] = -0.94419657829200819531868749477374  ;   s[35] =  0.69757483370723699677939172994898  ;   t[35] = -0.28111390940834185605809828184642  ;   w[35] =  0.12287238922246733879919976712259  ;
		r[36] =  0.94419657829200819531868749477374  ;   s[36] =  0.28111390940834185605809828184642  ;   t[36] = -0.69757483370723699677939172994898  ;   w[36] =  0.12287238922246733879919976712259  ;
		r[37] = -0.94419657829200819531868749477374  ;   s[37] = -0.28111390940834185605809828184642  ;   t[37] = -0.69757483370723699677939172994898  ;   w[37] =  0.12287238922246733879919976712259  ;
		r[38] =  0.94419657829200819531868749477374  ;   s[38] =  0.69757483370723699677939172994898  ;   t[38] =  0.28111390940834185605809828184642  ;   w[38] =  0.12287238922246733879919976712259  ;
		r[39] =  0.69757483370723699677939172994898  ;   s[39] = -0.94419657829200819531868749477374  ;   t[39] =  0.28111390940834185605809828184642  ;   w[39] =  0.12287238922246733879919976712259  ;
		r[40] = -0.94419657829200819531868749477374  ;   s[40] = -0.69757483370723699677939172994898  ;   t[40] =  0.28111390940834185605809828184642  ;   w[40] =  0.12287238922246733879919976712259  ;
		r[41] = -0.28111390940834185605809828184642  ;   s[41] =  0.69757483370723699677939172994898  ;   t[41] =  0.94419657829200819531868749477374  ;   w[41] =  0.12287238922246733879919976712259  ;
		r[42] =  0.69757483370723699677939172994898  ;   s[42] = -0.28111390940834185605809828184642  ;   t[42] = -0.94419657829200819531868749477374  ;   w[42] =  0.12287238922246733879919976712259  ;
		r[43] = -0.69757483370723699677939172994898  ;   s[43] = -0.28111390940834185605809828184642  ;   t[43] =  0.94419657829200819531868749477374  ;   w[43] =  0.12287238922246733879919976712259  ;
		r[44] = -0.28111390940834185605809828184642  ;   s[44] = -0.69757483370723699677939172994898  ;   t[44] = -0.94419657829200819531868749477374  ;   w[44] =  0.12287238922246733879919976712259  ;
		r[45] =  0.69757483370723699677939172994898  ;   s[45] =  0.28111390940834185605809828184642  ;   t[45] =  0.94419657829200819531868749477374  ;   w[45] =  0.12287238922246733879919976712259  ;
		r[46] = -0.69757483370723699677939172994898  ;   s[46] =  0.28111390940834185605809828184642  ;   t[46] = -0.94419657829200819531868749477374  ;   w[46] =  0.12287238922246733879919976712259  ;
		break;

//	case 9:
//		r.resize(52); s.resize(52); t.resize(52); w.resize(52);
//		r[ 0] =  1.4058489061392846084719134991435   ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] = -0.0062453148336993462548045877859515 ;
//		r[ 1] = -1.4058489061392846084719134991435   ;   s[ 1] =  0.0                                 ;   t[ 1] =  0.0                                 ;   w[ 1] = -0.0062453148336993462548045877859515 ;
//		r[ 2] =  0.0                                 ;   s[ 2] =  1.4058489061392846084719134991435   ;   t[ 2] =  0.0                                 ;   w[ 2] = -0.0062453148336993462548045877859515 ;
//		r[ 3] =  0.0                                 ;   s[ 3] = -1.4058489061392846084719134991435   ;   t[ 3] =  0.0                                 ;   w[ 3] = -0.0062453148336993462548045877859515 ;
//		r[ 4] =  0.0                                 ;   s[ 4] =  0.0                                 ;   t[ 4] =  1.4058489061392846084719134991435   ;   w[ 4] = -0.0062453148336993462548045877859515 ;
//		r[ 5] =  0.0                                 ;   s[ 5] =  0.0                                 ;   t[ 5] = -1.4058489061392846084719134991435   ;   w[ 5] = -0.0062453148336993462548045877859515 ;
//		r[ 6] =  0.63393895386657222353826422377943  ;   s[ 6] =  0.0                                 ;   t[ 6] =  0.0                                 ;   w[ 6] =  0.48199315823772399480110366731466  ;
//		r[ 7] = -0.63393895386657222353826422377943  ;   s[ 7] =  0.0                                 ;   t[ 7] =  0.0                                 ;   w[ 7] =  0.48199315823772399480110366731466  ;
//		r[ 8] =  0.0                                 ;   s[ 8] =  0.63393895386657222353826422377943  ;   t[ 8] =  0.0                                 ;   w[ 8] =  0.48199315823772399480110366731466  ;
//		r[ 9] =  0.0                                 ;   s[ 9] = -0.63393895386657222353826422377943  ;   t[ 9] =  0.0                                 ;   w[ 9] =  0.48199315823772399480110366731466  ;
//		r[10] =  0.0                                 ;   s[10] =  0.0                                 ;   t[10] =  0.63393895386657222353826422377943  ;   w[10] =  0.48199315823772399480110366731466  ;
//		r[11] =  0.0                                 ;   s[11] =  0.0                                 ;   t[11] = -0.63393895386657222353826422377943  ;   w[11] =  0.48199315823772399480110366731466  ;
//		r[12] =  0.6500078539566321491365301326223   ;   s[12] =  1.0171689372653643487785530163252   ;   t[12] =  0.0                                 ;   w[12] =  0.093031644998837104437514536194531 ;
//		r[13] = -0.6500078539566321491365301326223   ;   s[13] =  1.0171689372653643487785530163252   ;   t[13] =  0.0                                 ;   w[13] =  0.093031644998837104437514536194531 ;
//		r[14] =  0.6500078539566321491365301326223   ;   s[14] = -1.0171689372653643487785530163252   ;   t[14] =  0.0                                 ;   w[14] =  0.093031644998837104437514536194531 ;
//		r[15] = -0.6500078539566321491365301326223   ;   s[15] = -1.0171689372653643487785530163252   ;   t[15] =  0.0                                 ;   w[15] =  0.093031644998837104437514536194531 ;
//		r[16] =  1.0171689372653643487785530163252   ;   s[16] =  0.6500078539566321491365301326223   ;   t[16] =  0.0                                 ;   w[16] =  0.093031644998837104437514536194531 ;
//		r[17] =  1.0171689372653643487785530163252   ;   s[17] = -0.6500078539566321491365301326223   ;   t[17] =  0.0                                 ;   w[17] =  0.093031644998837104437514536194531 ;
//		r[18] = -1.0171689372653643487785530163252   ;   s[18] =  0.6500078539566321491365301326223   ;   t[18] =  0.0                                 ;   w[18] =  0.093031644998837104437514536194531 ;
//		r[19] = -1.0171689372653643487785530163252   ;   s[19] = -0.6500078539566321491365301326223   ;   t[19] =  0.0                                 ;   w[19] =  0.093031644998837104437514536194531 ;
//		r[20] =  0.6500078539566321491365301326223   ;   s[20] =  0.0                                 ;   t[20] =  1.0171689372653643487785530163252   ;   w[20] =  0.093031644998837104437514536194531 ;
//		r[21] = -0.6500078539566321491365301326223   ;   s[21] =  0.0                                 ;   t[21] =  1.0171689372653643487785530163252   ;   w[21] =  0.093031644998837104437514536194531 ;
//		r[22] =  0.6500078539566321491365301326223   ;   s[22] =  0.0                                 ;   t[22] = -1.0171689372653643487785530163252   ;   w[22] =  0.093031644998837104437514536194531 ;
//		r[23] = -0.6500078539566321491365301326223   ;   s[23] =  0.0                                 ;   t[23] = -1.0171689372653643487785530163252   ;   w[23] =  0.093031644998837104437514536194531 ;
//		r[24] =  1.0171689372653643487785530163252   ;   s[24] =  0.0                                 ;   t[24] =  0.6500078539566321491365301326223   ;   w[24] =  0.093031644998837104437514536194531 ;
//		r[25] =  1.0171689372653643487785530163252   ;   s[25] =  0.0                                 ;   t[25] = -0.6500078539566321491365301326223   ;   w[25] =  0.093031644998837104437514536194531 ;
//		r[26] = -1.0171689372653643487785530163252   ;   s[26] =  0.0                                 ;   t[26] =  0.6500078539566321491365301326223   ;   w[26] =  0.093031644998837104437514536194531 ;
//		r[27] = -1.0171689372653643487785530163252   ;   s[27] =  0.0                                 ;   t[27] = -0.6500078539566321491365301326223   ;   w[27] =  0.093031644998837104437514536194531 ;
//		r[28] =  0.0                                 ;   s[28] =  0.6500078539566321491365301326223   ;   t[28] =  1.0171689372653643487785530163252   ;   w[28] =  0.093031644998837104437514536194531 ;
//		r[29] =  0.0                                 ;   s[29] = -0.6500078539566321491365301326223   ;   t[29] =  1.0171689372653643487785530163252   ;   w[29] =  0.093031644998837104437514536194531 ;
//		r[30] =  0.0                                 ;   s[30] =  0.6500078539566321491365301326223   ;   t[30] = -1.0171689372653643487785530163252   ;   w[30] =  0.093031644998837104437514536194531 ;
//		r[31] =  0.0                                 ;   s[31] = -0.6500078539566321491365301326223   ;   t[31] = -1.0171689372653643487785530163252   ;   w[31] =  0.093031644998837104437514536194531 ;
//		r[32] =  0.0                                 ;   s[32] =  1.0171689372653643487785530163252   ;   t[32] =  0.6500078539566321491365301326223   ;   w[32] =  0.093031644998837104437514536194531 ;
//		r[33] =  0.0                                 ;   s[33] =  1.0171689372653643487785530163252   ;   t[33] = -0.6500078539566321491365301326223   ;   w[33] =  0.093031644998837104437514536194531 ;
//		r[34] =  0.0                                 ;   s[34] = -1.0171689372653643487785530163252   ;   t[34] =  0.6500078539566321491365301326223   ;   w[34] =  0.093031644998837104437514536194531 ;
//		r[35] =  0.0                                 ;   s[35] = -1.0171689372653643487785530163252   ;   t[35] = -0.6500078539566321491365301326223   ;   w[35] =  0.093031644998837104437514536194531 ;
//		r[36] =  0.87851342336347007930660434335965  ;   s[36] =  0.87851342336347007930660434335965  ;   t[36] =  0.87851342336347007930660434335965  ;   w[36] =  0.046362609681550725155869129216318 ;
//		r[37] =  0.87851342336347007930660434335965  ;   s[37] = -0.87851342336347007930660434335965  ;   t[37] =  0.87851342336347007930660434335965  ;   w[37] =  0.046362609681550725155869129216318 ;
//		r[38] = -0.87851342336347007930660434335965  ;   s[38] = -0.87851342336347007930660434335965  ;   t[38] =  0.87851342336347007930660434335965  ;   w[38] =  0.046362609681550725155869129216318 ;
//		r[39] = -0.87851342336347007930660434335965  ;   s[39] =  0.87851342336347007930660434335965  ;   t[39] =  0.87851342336347007930660434335965  ;   w[39] =  0.046362609681550725155869129216318 ;
//		r[40] =  0.87851342336347007930660434335965  ;   s[40] =  0.87851342336347007930660434335965  ;   t[40] = -0.87851342336347007930660434335965  ;   w[40] =  0.046362609681550725155869129216318 ;
//		r[41] =  0.87851342336347007930660434335965  ;   s[41] = -0.87851342336347007930660434335965  ;   t[41] = -0.87851342336347007930660434335965  ;   w[41] =  0.046362609681550725155869129216318 ;
//		r[42] = -0.87851342336347007930660434335965  ;   s[42] = -0.87851342336347007930660434335965  ;   t[42] = -0.87851342336347007930660434335965  ;   w[42] =  0.046362609681550725155869129216318 ;
//		r[43] = -0.87851342336347007930660434335965  ;   s[43] =  0.87851342336347007930660434335965  ;   t[43] = -0.87851342336347007930660434335965  ;   w[43] =  0.046362609681550725155869129216318 ;
//		r[44] =  0.60591846290210934403357967548379  ;   s[44] =  0.60591846290210934403357967548379  ;   t[44] =  0.60591846290210934403357967548379  ;   w[44] =  0.31773157276891947512186295255355  ;
//		r[45] =  0.60591846290210934403357967548379  ;   s[45] = -0.60591846290210934403357967548379  ;   t[45] =  0.60591846290210934403357967548379  ;   w[45] =  0.31773157276891947512186295255355  ;
//		r[46] = -0.60591846290210934403357967548379  ;   s[46] = -0.60591846290210934403357967548379  ;   t[46] =  0.60591846290210934403357967548379  ;   w[46] =  0.31773157276891947512186295255355  ;
//		r[47] = -0.60591846290210934403357967548379  ;   s[47] =  0.60591846290210934403357967548379  ;   t[47] =  0.60591846290210934403357967548379  ;   w[47] =  0.31773157276891947512186295255355  ;
//		r[48] =  0.60591846290210934403357967548379  ;   s[48] =  0.60591846290210934403357967548379  ;   t[48] = -0.60591846290210934403357967548379  ;   w[48] =  0.31773157276891947512186295255355  ;
//		r[49] =  0.60591846290210934403357967548379  ;   s[49] = -0.60591846290210934403357967548379  ;   t[49] = -0.60591846290210934403357967548379  ;   w[49] =  0.31773157276891947512186295255355  ;
//		r[50] = -0.60591846290210934403357967548379  ;   s[50] = -0.60591846290210934403357967548379  ;   t[50] = -0.60591846290210934403357967548379  ;   w[50] =  0.31773157276891947512186295255355  ;
//		r[51] = -0.60591846290210934403357967548379  ;   s[51] =  0.60591846290210934403357967548379  ;   t[51] = -0.60591846290210934403357967548379  ;   w[51] =  0.31773157276891947512186295255355  ;
//		break;

	case 9:
		r.resize(58); s.resize(58); t.resize(58); w.resize(58);
		r[ 0] =  0.61368146959170899383488488974056  ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] =  0.43327499574965454300983079319432  ;
		r[ 1] = -0.61368146959170899383488488974056  ;   s[ 1] =  0.0                                 ;   t[ 1] =  0.0                                 ;   w[ 1] =  0.43327499574965454300983079319432  ;
		r[ 2] =  0.0                                 ;   s[ 2] =  0.61368146959170899383488488974056  ;   t[ 2] =  0.0                                 ;   w[ 2] =  0.43327499574965454300983079319432  ;
		r[ 3] =  0.0                                 ;   s[ 3] = -0.61368146959170899383488488974056  ;   t[ 3] =  0.0                                 ;   w[ 3] =  0.43327499574965454300983079319432  ;
		r[ 4] =  0.0                                 ;   s[ 4] =  0.0                                 ;   t[ 4] =  0.61368146959170899383488488974056  ;   w[ 4] =  0.43327499574965454300983079319432  ;
		r[ 5] =  0.0                                 ;   s[ 5] =  0.0                                 ;   t[ 5] = -0.61368146959170899383488488974056  ;   w[ 5] =  0.43327499574965454300983079319432  ;
		r[ 6] =  0.87768712325767828648677575899433  ;   s[ 6] =  0.87768712325767828648677575899433  ;   t[ 6] =  0.0                                 ;   w[ 6] =  0.091789806136177642171244588919646 ;
		r[ 7] =  0.87768712325767828648677575899433  ;   s[ 7] = -0.87768712325767828648677575899433  ;   t[ 7] =  0.0                                 ;   w[ 7] =  0.091789806136177642171244588919646 ;
		r[ 8] = -0.87768712325767828648677575899433  ;   s[ 8] = -0.87768712325767828648677575899433  ;   t[ 8] =  0.0                                 ;   w[ 8] =  0.091789806136177642171244588919646 ;
		r[ 9] = -0.87768712325767828648677575899433  ;   s[ 9] =  0.87768712325767828648677575899433  ;   t[ 9] =  0.0                                 ;   w[ 9] =  0.091789806136177642171244588919646 ;
		r[10] =  0.87768712325767828648677575899433  ;   s[10] =  0.0                                 ;   t[10] =  0.87768712325767828648677575899433  ;   w[10] =  0.091789806136177642171244588919646 ;
		r[11] =  0.87768712325767828648677575899433  ;   s[11] =  0.0                                 ;   t[11] = -0.87768712325767828648677575899433  ;   w[11] =  0.091789806136177642171244588919646 ;
		r[12] = -0.87768712325767828648677575899433  ;   s[12] =  0.0                                 ;   t[12] = -0.87768712325767828648677575899433  ;   w[12] =  0.091789806136177642171244588919646 ;
		r[13] = -0.87768712325767828648677575899433  ;   s[13] =  0.0                                 ;   t[13] =  0.87768712325767828648677575899433  ;   w[13] =  0.091789806136177642171244588919646 ;
		r[14] =  0.0                                 ;   s[14] =  0.87768712325767828648677575899433  ;   t[14] =  0.87768712325767828648677575899433  ;   w[14] =  0.091789806136177642171244588919646 ;
		r[15] =  0.0                                 ;   s[15] =  0.87768712325767828648677575899433  ;   t[15] = -0.87768712325767828648677575899433  ;   w[15] =  0.091789806136177642171244588919646 ;
		r[16] =  0.0                                 ;   s[16] = -0.87768712325767828648677575899433  ;   t[16] = -0.87768712325767828648677575899433  ;   w[16] =  0.091789806136177642171244588919646 ;
		r[17] =  0.0                                 ;   s[17] = -0.87768712325767828648677575899433  ;   t[17] =  0.87768712325767828648677575899433  ;   w[17] =  0.091789806136177642171244588919646 ;
		r[18] =  0.56411080702003005426661899866307  ;   s[18] =  0.56411080702003005426661899866307  ;   t[18] =  0.56411080702003005426661899866307  ;   w[18] =  0.19885983814402350032086871858561  ;
		r[19] =  0.56411080702003005426661899866307  ;   s[19] = -0.56411080702003005426661899866307  ;   t[19] =  0.56411080702003005426661899866307  ;   w[19] =  0.19885983814402350032086871858561  ;
		r[20] = -0.56411080702003005426661899866307  ;   s[20] = -0.56411080702003005426661899866307  ;   t[20] =  0.56411080702003005426661899866307  ;   w[20] =  0.19885983814402350032086871858561  ;
		r[21] = -0.56411080702003005426661899866307  ;   s[21] =  0.56411080702003005426661899866307  ;   t[21] =  0.56411080702003005426661899866307  ;   w[21] =  0.19885983814402350032086871858561  ;
		r[22] =  0.56411080702003005426661899866307  ;   s[22] =  0.56411080702003005426661899866307  ;   t[22] = -0.56411080702003005426661899866307  ;   w[22] =  0.19885983814402350032086871858561  ;
		r[23] =  0.56411080702003005426661899866307  ;   s[23] = -0.56411080702003005426661899866307  ;   t[23] = -0.56411080702003005426661899866307  ;   w[23] =  0.19885983814402350032086871858561  ;
		r[24] = -0.56411080702003005426661899866307  ;   s[24] = -0.56411080702003005426661899866307  ;   t[24] = -0.56411080702003005426661899866307  ;   w[24] =  0.19885983814402350032086871858561  ;
		r[25] = -0.56411080702003005426661899866307  ;   s[25] =  0.56411080702003005426661899866307  ;   t[25] = -0.56411080702003005426661899866307  ;   w[25] =  0.19885983814402350032086871858561  ;
		r[26] =  0.87009978466197591761506380886392  ;   s[26] =  0.87009978466197591761506380886392  ;   t[26] =  0.87009978466197591761506380886392  ;   w[26] =  0.050148795299349029867451487724662 ;
		r[27] =  0.87009978466197591761506380886392  ;   s[27] = -0.87009978466197591761506380886392  ;   t[27] =  0.87009978466197591761506380886392  ;   w[27] =  0.050148795299349029867451487724662 ;
		r[28] = -0.87009978466197591761506380886392  ;   s[28] = -0.87009978466197591761506380886392  ;   t[28] =  0.87009978466197591761506380886392  ;   w[28] =  0.050148795299349029867451487724662 ;
		r[29] = -0.87009978466197591761506380886392  ;   s[29] =  0.87009978466197591761506380886392  ;   t[29] =  0.87009978466197591761506380886392  ;   w[29] =  0.050148795299349029867451487724662 ;
		r[30] =  0.87009978466197591761506380886392  ;   s[30] =  0.87009978466197591761506380886392  ;   t[30] = -0.87009978466197591761506380886392  ;   w[30] =  0.050148795299349029867451487724662 ;
		r[31] =  0.87009978466197591761506380886392  ;   s[31] = -0.87009978466197591761506380886392  ;   t[31] = -0.87009978466197591761506380886392  ;   w[31] =  0.050148795299349029867451487724662 ;
		r[32] = -0.87009978466197591761506380886392  ;   s[32] = -0.87009978466197591761506380886392  ;   t[32] = -0.87009978466197591761506380886392  ;   w[32] =  0.050148795299349029867451487724662 ;
		r[33] = -0.87009978466197591761506380886392  ;   s[33] =  0.87009978466197591761506380886392  ;   t[33] = -0.87009978466197591761506380886392  ;   w[33] =  0.050148795299349029867451487724662 ;
		r[34] =  0.43226790263086216441602486151694  ;   s[34] =  0.43226790263086216441602486151694  ;   t[34] =  0.93853042186467174532897686960308  ;   w[34] =  0.096116803513373366432479938471506 ;
		r[35] =  0.43226790263086216441602486151694  ;   s[35] = -0.43226790263086216441602486151694  ;   t[35] =  0.93853042186467174532897686960308  ;   w[35] =  0.096116803513373366432479938471506 ;
		r[36] = -0.43226790263086216441602486151694  ;   s[36] = -0.43226790263086216441602486151694  ;   t[36] =  0.93853042186467174532897686960308  ;   w[36] =  0.096116803513373366432479938471506 ;
		r[37] = -0.43226790263086216441602486151694  ;   s[37] =  0.43226790263086216441602486151694  ;   t[37] =  0.93853042186467174532897686960308  ;   w[37] =  0.096116803513373366432479938471506 ;
		r[38] =  0.43226790263086216441602486151694  ;   s[38] =  0.43226790263086216441602486151694  ;   t[38] = -0.93853042186467174532897686960308  ;   w[38] =  0.096116803513373366432479938471506 ;
		r[39] =  0.43226790263086216441602486151694  ;   s[39] = -0.43226790263086216441602486151694  ;   t[39] = -0.93853042186467174532897686960308  ;   w[39] =  0.096116803513373366432479938471506 ;
		r[40] = -0.43226790263086216441602486151694  ;   s[40] = -0.43226790263086216441602486151694  ;   t[40] = -0.93853042186467174532897686960308  ;   w[40] =  0.096116803513373366432479938471506 ;
		r[41] = -0.43226790263086216441602486151694  ;   s[41] =  0.43226790263086216441602486151694  ;   t[41] = -0.93853042186467174532897686960308  ;   w[41] =  0.096116803513373366432479938471506 ;
		r[42] =  0.43226790263086216441602486151694  ;   s[42] =  0.93853042186467174532897686960308  ;   t[42] =  0.43226790263086216441602486151694  ;   w[42] =  0.096116803513373366432479938471506 ;
		r[43] =  0.43226790263086216441602486151694  ;   s[43] =  0.93853042186467174532897686960308  ;   t[43] = -0.43226790263086216441602486151694  ;   w[43] =  0.096116803513373366432479938471506 ;
		r[44] = -0.43226790263086216441602486151694  ;   s[44] =  0.93853042186467174532897686960308  ;   t[44] = -0.43226790263086216441602486151694  ;   w[44] =  0.096116803513373366432479938471506 ;
		r[45] = -0.43226790263086216441602486151694  ;   s[45] =  0.93853042186467174532897686960308  ;   t[45] =  0.43226790263086216441602486151694  ;   w[45] =  0.096116803513373366432479938471506 ;
		r[46] =  0.43226790263086216441602486151694  ;   s[46] = -0.93853042186467174532897686960308  ;   t[46] =  0.43226790263086216441602486151694  ;   w[46] =  0.096116803513373366432479938471506 ;
		r[47] =  0.43226790263086216441602486151694  ;   s[47] = -0.93853042186467174532897686960308  ;   t[47] = -0.43226790263086216441602486151694  ;   w[47] =  0.096116803513373366432479938471506 ;
		r[48] = -0.43226790263086216441602486151694  ;   s[48] = -0.93853042186467174532897686960308  ;   t[48] = -0.43226790263086216441602486151694  ;   w[48] =  0.096116803513373366432479938471506 ;
		r[49] = -0.43226790263086216441602486151694  ;   s[49] = -0.93853042186467174532897686960308  ;   t[49] =  0.43226790263086216441602486151694  ;   w[49] =  0.096116803513373366432479938471506 ;
		r[50] =  0.93853042186467174532897686960308  ;   s[50] =  0.43226790263086216441602486151694  ;   t[50] =  0.43226790263086216441602486151694  ;   w[50] =  0.096116803513373366432479938471506 ;
		r[51] =  0.93853042186467174532897686960308  ;   s[51] =  0.43226790263086216441602486151694  ;   t[51] = -0.43226790263086216441602486151694  ;   w[51] =  0.096116803513373366432479938471506 ;
		r[52] =  0.93853042186467174532897686960308  ;   s[52] = -0.43226790263086216441602486151694  ;   t[52] = -0.43226790263086216441602486151694  ;   w[52] =  0.096116803513373366432479938471506 ;
		r[53] =  0.93853042186467174532897686960308  ;   s[53] = -0.43226790263086216441602486151694  ;   t[53] =  0.43226790263086216441602486151694  ;   w[53] =  0.096116803513373366432479938471506 ;
		r[54] = -0.93853042186467174532897686960308  ;   s[54] =  0.43226790263086216441602486151694  ;   t[54] =  0.43226790263086216441602486151694  ;   w[54] =  0.096116803513373366432479938471506 ;
		r[55] = -0.93853042186467174532897686960308  ;   s[55] =  0.43226790263086216441602486151694  ;   t[55] = -0.43226790263086216441602486151694  ;   w[55] =  0.096116803513373366432479938471506 ;
		r[56] = -0.93853042186467174532897686960308  ;   s[56] = -0.43226790263086216441602486151694  ;   t[56] = -0.43226790263086216441602486151694  ;   w[56] =  0.096116803513373366432479938471506 ;
		r[57] = -0.93853042186467174532897686960308  ;   s[57] = -0.43226790263086216441602486151694  ;   t[57] =  0.43226790263086216441602486151694  ;   w[57] =  0.096116803513373366432479938471506 ;
		break;

	case 10:
	case 11:
		r.resize(90); s.resize(90); t.resize(90); w.resize(90);
		r[ 0] =  0.81261433409962649639237559737974  ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] =  0.20247707361280019058533713096702  ;
		r[ 1] = -0.81261433409962649639237559737974  ;   s[ 1] =  0.0                                 ;   t[ 1] =  0.0                                 ;   w[ 1] =  0.20247707361280019058533713096702  ;
		r[ 2] =  0.0                                 ;   s[ 2] =  0.81261433409962649639237559737974  ;   t[ 2] =  0.0                                 ;   w[ 2] =  0.20247707361280019058533713096702  ;
		r[ 3] =  0.0                                 ;   s[ 3] = -0.81261433409962649639237559737974  ;   t[ 3] =  0.0                                 ;   w[ 3] =  0.20247707361280019058533713096702  ;
		r[ 4] =  0.0                                 ;   s[ 4] =  0.0                                 ;   t[ 4] =  0.81261433409962649639237559737974  ;   w[ 4] =  0.20247707361280019058533713096702  ;
		r[ 5] =  0.0                                 ;   s[ 5] =  0.0                                 ;   t[ 5] = -0.81261433409962649639237559737974  ;   w[ 5] =  0.20247707361280019058533713096702  ;
		r[ 6] =  0.73466828699700801734638476986755  ;   s[ 6] =  0.73466828699700801734638476986755  ;   t[ 6] =  0.0                                 ;   w[ 6] =  0.14519934586011569829250580079426  ;
		r[ 7] =  0.73466828699700801734638476986755  ;   s[ 7] = -0.73466828699700801734638476986755  ;   t[ 7] =  0.0                                 ;   w[ 7] =  0.14519934586011569829250580079426  ;
		r[ 8] = -0.73466828699700801734638476986755  ;   s[ 8] = -0.73466828699700801734638476986755  ;   t[ 8] =  0.0                                 ;   w[ 8] =  0.14519934586011569829250580079426  ;
		r[ 9] = -0.73466828699700801734638476986755  ;   s[ 9] =  0.73466828699700801734638476986755  ;   t[ 9] =  0.0                                 ;   w[ 9] =  0.14519934586011569829250580079426  ;
		r[10] =  0.73466828699700801734638476986755  ;   s[10] =  0.0                                 ;   t[10] =  0.73466828699700801734638476986755  ;   w[10] =  0.14519934586011569829250580079426  ;
		r[11] =  0.73466828699700801734638476986755  ;   s[11] =  0.0                                 ;   t[11] = -0.73466828699700801734638476986755  ;   w[11] =  0.14519934586011569829250580079426  ;
		r[12] = -0.73466828699700801734638476986755  ;   s[12] =  0.0                                 ;   t[12] = -0.73466828699700801734638476986755  ;   w[12] =  0.14519934586011569829250580079426  ;
		r[13] = -0.73466828699700801734638476986755  ;   s[13] =  0.0                                 ;   t[13] =  0.73466828699700801734638476986755  ;   w[13] =  0.14519934586011569829250580079426  ;
		r[14] =  0.0                                 ;   s[14] =  0.73466828699700801734638476986755  ;   t[14] =  0.73466828699700801734638476986755  ;   w[14] =  0.14519934586011569829250580079426  ;
		r[15] =  0.0                                 ;   s[15] =  0.73466828699700801734638476986755  ;   t[15] = -0.73466828699700801734638476986755  ;   w[15] =  0.14519934586011569829250580079426  ;
		r[16] =  0.0                                 ;   s[16] = -0.73466828699700801734638476986755  ;   t[16] = -0.73466828699700801734638476986755  ;   w[16] =  0.14519934586011569829250580079426  ;
		r[17] =  0.0                                 ;   s[17] = -0.73466828699700801734638476986755  ;   t[17] =  0.73466828699700801734638476986755  ;   w[17] =  0.14519934586011569829250580079426  ;
		r[18] =  0.31339340451605472104577323055795  ;   s[18] =  0.31339340451605472104577323055795  ;   t[18] =  0.31339340451605472104577323055795  ;   w[18] =  0.21599204525496912931346666638444  ;
		r[19] =  0.31339340451605472104577323055795  ;   s[19] = -0.31339340451605472104577323055795  ;   t[19] =  0.31339340451605472104577323055795  ;   w[19] =  0.21599204525496912931346666638444  ;
		r[20] = -0.31339340451605472104577323055795  ;   s[20] = -0.31339340451605472104577323055795  ;   t[20] =  0.31339340451605472104577323055795  ;   w[20] =  0.21599204525496912931346666638444  ;
		r[21] = -0.31339340451605472104577323055795  ;   s[21] =  0.31339340451605472104577323055795  ;   t[21] =  0.31339340451605472104577323055795  ;   w[21] =  0.21599204525496912931346666638444  ;
		r[22] =  0.31339340451605472104577323055795  ;   s[22] =  0.31339340451605472104577323055795  ;   t[22] = -0.31339340451605472104577323055795  ;   w[22] =  0.21599204525496912931346666638444  ;
		r[23] =  0.31339340451605472104577323055795  ;   s[23] = -0.31339340451605472104577323055795  ;   t[23] = -0.31339340451605472104577323055795  ;   w[23] =  0.21599204525496912931346666638444  ;
		r[24] = -0.31339340451605472104577323055795  ;   s[24] = -0.31339340451605472104577323055795  ;   t[24] = -0.31339340451605472104577323055795  ;   w[24] =  0.21599204525496912931346666638444  ;
		r[25] = -0.31339340451605472104577323055795  ;   s[25] =  0.31339340451605472104577323055795  ;   t[25] = -0.31339340451605472104577323055795  ;   w[25] =  0.21599204525496912931346666638444  ;
		r[26] =  0.60167526419826270163441300578532  ;   s[26] =  0.60167526419826270163441300578532  ;   t[26] =  0.60167526419826270163441300578532  ;   w[26] =  0.11753834795645628038993180401068  ;
		r[27] =  0.60167526419826270163441300578532  ;   s[27] = -0.60167526419826270163441300578532  ;   t[27] =  0.60167526419826270163441300578532  ;   w[27] =  0.11753834795645628038993180401068  ;
		r[28] = -0.60167526419826270163441300578532  ;   s[28] = -0.60167526419826270163441300578532  ;   t[28] =  0.60167526419826270163441300578532  ;   w[28] =  0.11753834795645628038993180401068  ;
		r[29] = -0.60167526419826270163441300578532  ;   s[29] =  0.60167526419826270163441300578532  ;   t[29] =  0.60167526419826270163441300578532  ;   w[29] =  0.11753834795645628038993180401068  ;
		r[30] =  0.60167526419826270163441300578532  ;   s[30] =  0.60167526419826270163441300578532  ;   t[30] = -0.60167526419826270163441300578532  ;   w[30] =  0.11753834795645628038993180401068  ;
		r[31] =  0.60167526419826270163441300578532  ;   s[31] = -0.60167526419826270163441300578532  ;   t[31] = -0.60167526419826270163441300578532  ;   w[31] =  0.11753834795645628038993180401068  ;
		r[32] = -0.60167526419826270163441300578532  ;   s[32] = -0.60167526419826270163441300578532  ;   t[32] = -0.60167526419826270163441300578532  ;   w[32] =  0.11753834795645628038993180401068  ;
		r[33] = -0.60167526419826270163441300578532  ;   s[33] =  0.60167526419826270163441300578532  ;   t[33] = -0.60167526419826270163441300578532  ;   w[33] =  0.11753834795645628038993180401068  ;
		r[34] =  0.85545576101775998467509147069035  ;   s[34] =  0.85545576101775998467509147069035  ;   t[34] =  0.85545576101775998467509147069035  ;   w[34] =  0.04464391207882924164100115428213  ;
		r[35] =  0.85545576101775998467509147069035  ;   s[35] = -0.85545576101775998467509147069035  ;   t[35] =  0.85545576101775998467509147069035  ;   w[35] =  0.04464391207882924164100115428213  ;
		r[36] = -0.85545576101775998467509147069035  ;   s[36] = -0.85545576101775998467509147069035  ;   t[36] =  0.85545576101775998467509147069035  ;   w[36] =  0.04464391207882924164100115428213  ;
		r[37] = -0.85545576101775998467509147069035  ;   s[37] =  0.85545576101775998467509147069035  ;   t[37] =  0.85545576101775998467509147069035  ;   w[37] =  0.04464391207882924164100115428213  ;
		r[38] =  0.85545576101775998467509147069035  ;   s[38] =  0.85545576101775998467509147069035  ;   t[38] = -0.85545576101775998467509147069035  ;   w[38] =  0.04464391207882924164100115428213  ;
		r[39] =  0.85545576101775998467509147069035  ;   s[39] = -0.85545576101775998467509147069035  ;   t[39] = -0.85545576101775998467509147069035  ;   w[39] =  0.04464391207882924164100115428213  ;
		r[40] = -0.85545576101775998467509147069035  ;   s[40] = -0.85545576101775998467509147069035  ;   t[40] = -0.85545576101775998467509147069035  ;   w[40] =  0.04464391207882924164100115428213  ;
		r[41] = -0.85545576101775998467509147069035  ;   s[41] =  0.85545576101775998467509147069035  ;   t[41] = -0.85545576101775998467509147069035  ;   w[41] =  0.04464391207882924164100115428213  ;
		r[42] =  0.94124485721060326391115015763113  ;   s[42] =  0.94124485721060326391115015763113  ;   t[42] =  0.35390281459663013491031287081289  ;   w[42] =  0.022614296138821884223196230668984 ;
		r[43] =  0.94124485721060326391115015763113  ;   s[43] = -0.94124485721060326391115015763113  ;   t[43] =  0.35390281459663013491031287081289  ;   w[43] =  0.022614296138821884223196230668984 ;
		r[44] = -0.94124485721060326391115015763113  ;   s[44] = -0.94124485721060326391115015763113  ;   t[44] =  0.35390281459663013491031287081289  ;   w[44] =  0.022614296138821884223196230668984 ;
		r[45] = -0.94124485721060326391115015763113  ;   s[45] =  0.94124485721060326391115015763113  ;   t[45] =  0.35390281459663013491031287081289  ;   w[45] =  0.022614296138821884223196230668984 ;
		r[46] =  0.94124485721060326391115015763113  ;   s[46] =  0.94124485721060326391115015763113  ;   t[46] = -0.35390281459663013491031287081289  ;   w[46] =  0.022614296138821884223196230668984 ;
		r[47] =  0.94124485721060326391115015763113  ;   s[47] = -0.94124485721060326391115015763113  ;   t[47] = -0.35390281459663013491031287081289  ;   w[47] =  0.022614296138821884223196230668984 ;
		r[48] = -0.94124485721060326391115015763113  ;   s[48] = -0.94124485721060326391115015763113  ;   t[48] = -0.35390281459663013491031287081289  ;   w[48] =  0.022614296138821884223196230668984 ;
		r[49] = -0.94124485721060326391115015763113  ;   s[49] =  0.94124485721060326391115015763113  ;   t[49] = -0.35390281459663013491031287081289  ;   w[49] =  0.022614296138821884223196230668984 ;
		r[50] =  0.94124485721060326391115015763113  ;   s[50] =  0.35390281459663013491031287081289  ;   t[50] =  0.94124485721060326391115015763113  ;   w[50] =  0.022614296138821884223196230668984 ;
		r[51] =  0.94124485721060326391115015763113  ;   s[51] =  0.35390281459663013491031287081289  ;   t[51] = -0.94124485721060326391115015763113  ;   w[51] =  0.022614296138821884223196230668984 ;
		r[52] = -0.94124485721060326391115015763113  ;   s[52] =  0.35390281459663013491031287081289  ;   t[52] = -0.94124485721060326391115015763113  ;   w[52] =  0.022614296138821884223196230668984 ;
		r[53] = -0.94124485721060326391115015763113  ;   s[53] =  0.35390281459663013491031287081289  ;   t[53] =  0.94124485721060326391115015763113  ;   w[53] =  0.022614296138821884223196230668984 ;
		r[54] =  0.94124485721060326391115015763113  ;   s[54] = -0.35390281459663013491031287081289  ;   t[54] =  0.94124485721060326391115015763113  ;   w[54] =  0.022614296138821884223196230668984 ;
		r[55] =  0.94124485721060326391115015763113  ;   s[55] = -0.35390281459663013491031287081289  ;   t[55] = -0.94124485721060326391115015763113  ;   w[55] =  0.022614296138821884223196230668984 ;
		r[56] = -0.94124485721060326391115015763113  ;   s[56] = -0.35390281459663013491031287081289  ;   t[56] = -0.94124485721060326391115015763113  ;   w[56] =  0.022614296138821884223196230668984 ;
		r[57] = -0.94124485721060326391115015763113  ;   s[57] = -0.35390281459663013491031287081289  ;   t[57] =  0.94124485721060326391115015763113  ;   w[57] =  0.022614296138821884223196230668984 ;
		r[58] =  0.35390281459663013491031287081289  ;   s[58] =  0.94124485721060326391115015763113  ;   t[58] =  0.94124485721060326391115015763113  ;   w[58] =  0.022614296138821884223196230668984 ;
		r[59] =  0.35390281459663013491031287081289  ;   s[59] =  0.94124485721060326391115015763113  ;   t[59] = -0.94124485721060326391115015763113  ;   w[59] =  0.022614296138821884223196230668984 ;
		r[60] =  0.35390281459663013491031287081289  ;   s[60] = -0.94124485721060326391115015763113  ;   t[60] = -0.94124485721060326391115015763113  ;   w[60] =  0.022614296138821884223196230668984 ;
		r[61] =  0.35390281459663013491031287081289  ;   s[61] = -0.94124485721060326391115015763113  ;   t[61] =  0.94124485721060326391115015763113  ;   w[61] =  0.022614296138821884223196230668984 ;
		r[62] = -0.35390281459663013491031287081289  ;   s[62] =  0.94124485721060326391115015763113  ;   t[62] =  0.94124485721060326391115015763113  ;   w[62] =  0.022614296138821884223196230668984 ;
		r[63] = -0.35390281459663013491031287081289  ;   s[63] =  0.94124485721060326391115015763113  ;   t[63] = -0.94124485721060326391115015763113  ;   w[63] =  0.022614296138821884223196230668984 ;
		r[64] = -0.35390281459663013491031287081289  ;   s[64] = -0.94124485721060326391115015763113  ;   t[64] = -0.94124485721060326391115015763113  ;   w[64] =  0.022614296138821884223196230668984 ;
		r[65] = -0.35390281459663013491031287081289  ;   s[65] = -0.94124485721060326391115015763113  ;   t[65] =  0.94124485721060326391115015763113  ;   w[65] =  0.022614296138821884223196230668984 ;
		r[66] =  0.45079993511450943037788434573027  ;   s[66] =  0.45079993511450943037788434573027  ;   t[66] =  0.96509966551271026293028182312534  ;   w[66] =  0.061441994097835335202750044633046 ;
		r[67] =  0.45079993511450943037788434573027  ;   s[67] = -0.45079993511450943037788434573027  ;   t[67] =  0.96509966551271026293028182312534  ;   w[67] =  0.061441994097835335202750044633046 ;
		r[68] = -0.45079993511450943037788434573027  ;   s[68] = -0.45079993511450943037788434573027  ;   t[68] =  0.96509966551271026293028182312534  ;   w[68] =  0.061441994097835335202750044633046 ;
		r[69] = -0.45079993511450943037788434573027  ;   s[69] =  0.45079993511450943037788434573027  ;   t[69] =  0.96509966551271026293028182312534  ;   w[69] =  0.061441994097835335202750044633046 ;
		r[70] =  0.45079993511450943037788434573027  ;   s[70] =  0.45079993511450943037788434573027  ;   t[70] = -0.96509966551271026293028182312534  ;   w[70] =  0.061441994097835335202750044633046 ;
		r[71] =  0.45079993511450943037788434573027  ;   s[71] = -0.45079993511450943037788434573027  ;   t[71] = -0.96509966551271026293028182312534  ;   w[71] =  0.061441994097835335202750044633046 ;
		r[72] = -0.45079993511450943037788434573027  ;   s[72] = -0.45079993511450943037788434573027  ;   t[72] = -0.96509966551271026293028182312534  ;   w[72] =  0.061441994097835335202750044633046 ;
		r[73] = -0.45079993511450943037788434573027  ;   s[73] =  0.45079993511450943037788434573027  ;   t[73] = -0.96509966551271026293028182312534  ;   w[73] =  0.061441994097835335202750044633046 ;
		r[74] =  0.45079993511450943037788434573027  ;   s[74] =  0.96509966551271026293028182312534  ;   t[74] =  0.45079993511450943037788434573027  ;   w[74] =  0.061441994097835335202750044633046 ;
		r[75] =  0.45079993511450943037788434573027  ;   s[75] =  0.96509966551271026293028182312534  ;   t[75] = -0.45079993511450943037788434573027  ;   w[75] =  0.061441994097835335202750044633046 ;
		r[76] = -0.45079993511450943037788434573027  ;   s[76] =  0.96509966551271026293028182312534  ;   t[76] = -0.45079993511450943037788434573027  ;   w[76] =  0.061441994097835335202750044633046 ;
		r[77] = -0.45079993511450943037788434573027  ;   s[77] =  0.96509966551271026293028182312534  ;   t[77] =  0.45079993511450943037788434573027  ;   w[77] =  0.061441994097835335202750044633046 ;
		r[78] =  0.45079993511450943037788434573027  ;   s[78] = -0.96509966551271026293028182312534  ;   t[78] =  0.45079993511450943037788434573027  ;   w[78] =  0.061441994097835335202750044633046 ;
		r[79] =  0.45079993511450943037788434573027  ;   s[79] = -0.96509966551271026293028182312534  ;   t[79] = -0.45079993511450943037788434573027  ;   w[79] =  0.061441994097835335202750044633046 ;
		r[80] = -0.45079993511450943037788434573027  ;   s[80] = -0.96509966551271026293028182312534  ;   t[80] = -0.45079993511450943037788434573027  ;   w[80] =  0.061441994097835335202750044633046 ;
		r[81] = -0.45079993511450943037788434573027  ;   s[81] = -0.96509966551271026293028182312534  ;   t[81] =  0.45079993511450943037788434573027  ;   w[81] =  0.061441994097835335202750044633046 ;
		r[82] =  0.96509966551271026293028182312534  ;   s[82] =  0.45079993511450943037788434573027  ;   t[82] =  0.45079993511450943037788434573027  ;   w[82] =  0.061441994097835335202750044633046 ;
		r[83] =  0.96509966551271026293028182312534  ;   s[83] =  0.45079993511450943037788434573027  ;   t[83] = -0.45079993511450943037788434573027  ;   w[83] =  0.061441994097835335202750044633046 ;
		r[84] =  0.96509966551271026293028182312534  ;   s[84] = -0.45079993511450943037788434573027  ;   t[84] = -0.45079993511450943037788434573027  ;   w[84] =  0.061441994097835335202750044633046 ;
		r[85] =  0.96509966551271026293028182312534  ;   s[85] = -0.45079993511450943037788434573027  ;   t[85] =  0.45079993511450943037788434573027  ;   w[85] =  0.061441994097835335202750044633046 ;
		r[86] = -0.96509966551271026293028182312534  ;   s[86] =  0.45079993511450943037788434573027  ;   t[86] =  0.45079993511450943037788434573027  ;   w[86] =  0.061441994097835335202750044633046 ;
		r[87] = -0.96509966551271026293028182312534  ;   s[87] =  0.45079993511450943037788434573027  ;   t[87] = -0.45079993511450943037788434573027  ;   w[87] =  0.061441994097835335202750044633046 ;
		r[88] = -0.96509966551271026293028182312534  ;   s[88] = -0.45079993511450943037788434573027  ;   t[88] = -0.45079993511450943037788434573027  ;   w[88] =  0.061441994097835335202750044633046 ;
		r[89] = -0.96509966551271026293028182312534  ;   s[89] = -0.45079993511450943037788434573027  ;   t[89] =  0.45079993511450943037788434573027  ;   w[89] =  0.061441994097835335202750044633046 ;
	default: return false;
	}
	return true;
}

int Hexahedron::maxorder()
{
	return 11;
}
